import { S } from '../../s';
import { IPSDEEditFormParam } from './ipsdeedit-form-param';
import { IPSDEWizardEditFormParam } from './ipsdewizard-edit-form-param';
import { PSDEFormParamImpl } from './psdeform-param-impl';
import { IPSDEWizardForm } from '../../dataentity/wizard/ipsdewizard-form';

export class PSDEEditFormParamImpl
  extends PSDEFormParamImpl
  implements IPSDEEditFormParam, IPSDEWizardEditFormParam
{
  protected psdewizardform: IPSDEWizardForm;
  getPSDEWizardForm(): IPSDEWizardForm | null {
    return (
      this.psdewizardform ||
      (this.psdewizardform = this.fillObjectModel(
        S._211,
        this.M.getPSDEWizardForm,
        S._317,
      ) as IPSDEWizardForm)
    );
  }

  get enableAutoSave(): boolean {
    return this.M.enableAutoSave;
  }
  get cls(): string {
    return 'PSDEEditFormParamImpl';
  }
  instanceof(cls: string): boolean {
    if (cls == S._171 || cls == S._173 || cls == S._174) return true;
    return super.instanceof(cls);
  }
}
